#!/usr/bin/env python3
# vim:fileencoding=utf-8

import os, sys
import argparse
import rcfile

def main():
  parser = argparse.ArgumentParser(description='配置文件管理器')
  parser.add_argument('-u', '--update', action='store_true', default=False,
                      help='交互式更新配置文件列表')
  parser.add_argument('-l', '--list',
                      choices=(rcfile.Normal, rcfile.Secret,
                               rcfile.Ignore, rcfile.Handled),
                      help='列出指定的文件列表')
  parser.add_argument('-c', '--config', metavar='FILE',
                      default='~/scripts/python/pydata/rcfile.yaml',
                      help='指定列表文件')
  args = parser.parse_args()

  if args.update:
    rc = rcfile.rcfile(os.path.expanduser(args.config))
    rc.update()
  elif args.list is not None:
    rc = rcfile.rcfile(os.path.expanduser(args.config), readonly=True)
    for l in rc.filelist(args.list):
      print(l)
  else:
    print('参数错误。', file=sys.stderr)
    sys.exit(1)

if __name__ == '__main__':
  main()
